Companies use XML documents to publish various types of information for use by customers and partners. The type of information in such XML documents is frequently common transactions such as invoices and purchase orders and common reference documents such as customer profiles and price lists. Computer programmers design these XML document formats in a technical manner. People and programs that extract data from corporate databases typically create the XML documents containing actual data.
While XML formats are convenient for the company that creates them, the partners of that company may find them incompatible with their own XML formats, relational database schemes, and message formats and therefore difficult to work with. In many cases, the user is forced to have programmer create a program (typically transforming the XML data into an object model for manipulation by the program) to merge, filter and transform XML documents into the format they want. Thus, XML documents are very difficult for the businessperson or nontechnical user to operate. Therefore, there is a need for a system that both allows the user to view and update XML documents in different formats, and allows the user to manipulate the data and perform actions without programming skills.